With the advent of increasingly realistic virtual environments in video games, virtual reality applications, and the like, accurate sound and audio propagation has become necessary to enhance the virtual experience. For sounds/audio to feel like a part of the environment, they must react to and/or be affected by aspects of the environment as they travel to the listener. Using a simple line-of-sight ray-cast method between a sound source and a sound destination to determine obstruction of a sound provides a simple way of affecting sound properties based on the environment, but in more complex settings, it is not realistic. For instance, if a sound is propagated based on a simple binary obstruction value, strange effects may be produced when the sound destination or listener moves around within the environment (e.g., turning corners, moving through doors, etc.) where sound volume and/or clarity make sudden jumps that do not accurately mimic sound in the physical world, reducing immersion of a player in the virtual environment.
In some existing systems, the binary obstruction values may be used to apply filtering and/or attenuation to sound properties. But because the binary values provide only minimal information (e.g., the sound is obstructed or unobstructed, etc.), accurately filtering and/or attenuating the sound across a wide range of possible situations is impossible. Situations such as listening to a sound from a different room, traveling through corridors, through doorways between rooms, around corners and other obstructions, etc. in a virtual environment demand highly flexible, granular sound propagation techniques to produce an accurate audio experience to match modern virtual environments.